package br.com.sap.persistencia.servico;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

import br.com.sap.modelo.AnuncioObjAchado;
import br.com.sap.modelo.Entidade;
import br.com.sap.modelo.enums.EnumSituacao;


public class AnuncioObjAchadoServico extends ServicoGenerico<AnuncioObjAchado> {
	
	private AnuncioObjAchado anuncioObjAchado;
	private CategoriaServico categoriaServico = new CategoriaServico();
	private TipoServico tipoServico = new TipoServico();
	private TipoMarcaServico tipoMarcaServico = new TipoMarcaServico();
	private ModeloServico modeloServico = new ModeloServico();
	private MarcaServico marcaServico = new MarcaServico();
	private UsuarioServico usuarioServico = new UsuarioServico();

	

	
	@Override
	protected Entidade getInstanciaEntidade() {
		if (this.anuncioObjAchado == null)
			this.anuncioObjAchado = new AnuncioObjAchado();
		return this.anuncioObjAchado;
	}

	@Override
	public ArrayList<AnuncioObjAchado> getLista() {
		// TODO Auto-generated method stub
		return super.getLista(false);
	}
	
		@Override
	public ArrayList<AnuncioObjAchado> procura() {
		// TODO Auto-generated method stub
		return super.procura(true);
	}

	@Override
	protected AnuncioObjAchado configuraCampos(ResultSet rs) throws SQLException {
		AnuncioObjAchado entidade = new AnuncioObjAchado();
		entidade.setId(rs.getLong("id"));
		entidade.setDescricao(rs.getString("descricao"));
		entidade.setLocal(rs.getString("local"));
		entidade.setObservacao(rs.getString("observacao"));
		entidade.setNserie(rs.getString("nserie"));
		entidade.setCaracteristicas(rs.getString("caracteristicas"));
		entidade.setFoto(rs.getString("foto"));
		entidade.setData_de_cadastro(rs.getDate("data_de_cadastro"));
		entidade.setDataqachou(rs.getDate("dataqachou"));
		entidade.setSituacao(EnumSituacao.get(rs.getInt("situacao")));
		entidade.setStatus(rs.getInt(entidade.getCampoInativacao()));		
		entidade.setCategoria(categoriaServico.getById(rs.getLong("categoria_id")));
		entidade.setTipo(tipoServico.getById(rs.getLong("tipo_id")));
		entidade.setTipoMarca(tipoMarcaServico.getById(rs.getLong("tipomarca_id")));
		entidade.setMarca(marcaServico.getById(rs.getLong("marca_id")));
		entidade.setModelo(modeloServico.getById(rs.getLong("modelo_id")));
		entidade.setUsuario(usuarioServico.getById(rs.getLong("usuario_id")));
		
		return entidade;
	}
 
}